package com.ListDemo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/*
    需求：
    我们有一个集合：List<String> list = new ArrayList<String>();
    里面有三个元素：list.add("hello");
                 list.add("world");
                 list.add("java");
    遍历集合，得到每一个元素，有"world"这个元素，添加"javaee"元素

    ConcurrentModificationException：当不允许这样的修改时，可以通过检测到对象的并发修改的方法来抛出异常
 */
public class ListDemo_并发修改异常 {
    public static void main(String[] args) {
        //创建集合对象
        List<String> list = new ArrayList<String>();

        //添加元素
        list.add("hello");
        list.add("world");
        list.add("java");
//        list.add("world");

        //输出集合对象
//        System.out.println(list);

        //迭代器的方式输出
        //ConcurrentModificationException
//        Iterator<String> iterator = list.iterator();
//        while (iterator.hasNext()) {
//            String s = iterator.next();
//            if (s.equals("world")) {
//                list.add("javaee");
//            }
//        }

        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            System.out.println(s);
            if (s.equals("world")) {
                list.add("javaee");

            }
        }
    }
}
